home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!zephyr.ens.tek.com!tekred!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v12i007: reve - an othello game, Patch3g
- Message-ID: <6765@tekred.CNA.TEK.COM>
- Date: 21 Dec 90 20:52:24 GMT
- Sender: news@tekred.CNA.TEK.COM
- Lines: 1424
- Approved: billr@saab.CNA.TEK.COM
-
- Submitted-by: Rich Burridge <rburridge@sun.COM>
- Posting-number: Volume 12, Issue 7
- Archive-name: reve/Patch3g
- Patch-To: reve: Volume 11, Issue 52-58
- Environment: SunView, XView, X11R4, termcap
-
-
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 7 (of 9)."
- # Contents: patches03d
- # Wrapped by billr@saab on Fri Dec 21 11:27:44 1990
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'patches03d' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'patches03d'\"
- else
- echo shar: Extracting \"'patches03d'\" \(45079 characters\)
- sed "s/^X//" >'patches03d' <<'END_OF_FILE'
- X
- X------- rev_eval.c -------
- X*** /tmp/da07623 Sun Dec 9 15:17:12 1990
- X--- rev_eval.c Wed Dec 5 10:37:09 1990
- X***************
- X*** 47,65 ****
- X int niv ;
- X {
- X register int *d, *p ;
- X! register int i, x, y ;
- X register long note ;
- X register int vp, vo ;
- X register long tnote, cx ;
- X
- X d = damier[niv] ;
- X
- X if (mnb > 60 - profmax)
- X {
- X note = 0 ;
- X for (p = &d[0]; p < &d[64]; p++)
- X! if (*p == macouleur) note++ ;
- X! else if (*p == tacouleur) note-- ;
- X return(note) ;
- X }
- X else
- X--- 47,67 ----
- X int niv ;
- X {
- X register int *d, *p ;
- X! register int i, x, y, tc, mc ;
- X register long note ;
- X register int vp, vo ;
- X register long tnote, cx ;
- X
- X d = damier[niv] ;
- X+ tc = tacouleur ;
- X+ mc = macouleur ;
- X
- X if (mnb > 60 - profmax)
- X {
- X note = 0 ;
- X for (p = &d[0]; p < &d[64]; p++)
- X! if (*p == mc) note++ ;
- X! else if (*p == tc) note-- ;
- X return(note) ;
- X }
- X else
- X***************
- X*** 66,73 ****
- X {
- X x = y = 0 ;
- X for (p = &d[0]; p < &d[64]; p++)
- X! if (*p == macouleur) x++ ;
- X! else if (*p == tacouleur) y++ ;
- X if (x == 0) return(-100000000) ;
- X if (y == 0) return( 100000000) ;
- X
- X--- 68,75 ----
- X {
- X x = y = 0 ;
- X for (p = &d[0]; p < &d[64]; p++)
- X! if (*p == mc) x++ ;
- X! else if (*p == tc) y++ ;
- X if (x == 0) return(-100000000) ;
- X if (y == 0) return( 100000000) ;
- X
- X***************
- X*** 78,163 ****
- X for (p = &d[0]; p < &d[8]; p++)
- X {
- X i += i + i ;
- X! if (*p == FREE) i++ ;
- X! else if (*p == macouleur) i += 2 ;
- X }
- X note = edges[i] ;
- X
- X- if (((i == 2191) && (d[13] == macouleur)) ||
- X- ((i == 2917) && (d[10] == macouleur)) ||
- X- ((i == 3643) && (d[10] == tacouleur)) ||
- X- ((i == 4369) && (d[13] == tacouleur)))
- X- note -= edges[i] ;
- X-
- X i = 0 ;
- X for (p = &d[56]; p < &d[64]; p++)
- X {
- X i += i + i ;
- X! if (*p == FREE) i++ ;
- X! else if (*p == macouleur) i += 2 ;
- X }
- X note += edges[i] ;
- X
- X- if (((i == 2191) && (d[53] == macouleur)) ||
- X- ((i == 2917) && (d[50] == macouleur)) ||
- X- ((i == 3643) && (d[50] == tacouleur)) ||
- X- ((i == 4369) && (d[53] == tacouleur)))
- X- note -= edges[i] ;
- X-
- X i = 0 ;
- X for (p = &d[0]; p < &d[64]; p += 8)
- X {
- X i += i + i ;
- X! if (*p == FREE) i++ ;
- X! else if (*p == macouleur) i += 2 ;
- X }
- X note += edges[i] ;
- X
- X- if (((i == 2191) && (d[41] == macouleur)) ||
- X- ((i == 2917) && (d[17] == macouleur)) ||
- X- ((i == 3643) && (d[17] == tacouleur)) ||
- X- ((i == 4369) && (d[41] == tacouleur)))
- X- note -= edges[i] ;
- X-
- X i = 0 ;
- X for (p = &d[7]; p < &d[64]; p += 8)
- X {
- X i += i + i ;
- X! if (*p == FREE) i++ ;
- X! else if (*p == macouleur) i += 2 ;
- X }
- X note += edges[i] ;
- X
- X- if (((i == 2191) && (d[46] == macouleur)) ||
- X- ((i == 2917) && (d[22] == macouleur)) ||
- X- ((i == 3643) && (d[22] == tacouleur)) ||
- X- ((i == 4369) && (d[46] == tacouleur)))
- X- note -= edges[i] ;
- X-
- X cx = 8 * (50 - mnb - profmax) ;
- X
- X if (d[0] == FREE)
- X {
- X! if (d[9] == macouleur) note -= cx ;
- X! else if (d[9] == tacouleur) note += cx ;
- X }
- X
- X if (d[7] == FREE)
- X {
- X! if (d[14] == macouleur) note -= cx ;
- X! else if (d[14] == tacouleur) note += cx ;
- X }
- X
- X if (d[56] == FREE)
- X {
- X! if (d[49] == macouleur) note -= cx ;
- X! else if (d[49] == tacouleur) note += cx ;
- X }
- X
- X if (d[63] == FREE)
- X {
- X! if (d[54] == macouleur) note -= cx ;
- X! else if (d[54] == tacouleur) note += cx ;
- X }
- X
- X tnote = c1 * note + c2 * (long) 1000 * (vp0 - vo0) / (vp0 + vo0 + 2) ;
- X--- 80,141 ----
- X for (p = &d[0]; p < &d[8]; p++)
- X {
- X i += i + i ;
- X! if (*p == FREE) i++ ;
- X! else if (*p == mc) i += 2 ;
- X }
- X note = edges[i] ;
- X
- X i = 0 ;
- X for (p = &d[56]; p < &d[64]; p++)
- X {
- X i += i + i ;
- X! if (*p == FREE) i++ ;
- X! else if (*p == mc) i += 2 ;
- X }
- X note += edges[i] ;
- X
- X i = 0 ;
- X for (p = &d[0]; p < &d[64]; p += 8)
- X {
- X i += i + i ;
- X! if (*p == FREE) i++ ;
- X! else if (*p == mc) i += 2 ;
- X }
- X note += edges[i] ;
- X
- X i = 0 ;
- X for (p = &d[7]; p < &d[64]; p += 8)
- X {
- X i += i + i ;
- X! if (*p == FREE) i++ ;
- X! else if (*p == mc) i += 2 ;
- X }
- X note += edges[i] ;
- X
- X cx = 8 * (50 - mnb - profmax) ;
- X
- X if (d[0] == FREE)
- X {
- X! if (d[9] == mc) note -= cx ;
- X! else if (d[9] == tc) note += cx ;
- X }
- X
- X if (d[7] == FREE)
- X {
- X! if (d[14] == mc) note -= cx ;
- X! else if (d[14] == tc) note += cx ;
- X }
- X
- X if (d[56] == FREE)
- X {
- X! if (d[49] == mc) note -= cx ;
- X! else if (d[49] == tc) note += cx ;
- X }
- X
- X if (d[63] == FREE)
- X {
- X! if (d[54] == mc) note -= cx ;
- X! else if (d[54] == tc) note += cx ;
- X }
- X
- X tnote = c1 * note + c2 * (long) 1000 * (vp0 - vo0) / (vp0 + vo0 + 2) ;
- X***************
- X*** 167,173 ****
- X for (y = 0; y < 8; y++)
- X {
- X i = (x << 3) + y ;
- X! if (d[i] == tacouleur)
- X {
- X if ((x > 0) && (d[i - 8] == FREE)) vp++ ;
- X else if ((x < 7) && (d[i + 8] == FREE)) vp++ ;
- X--- 145,151 ----
- X for (y = 0; y < 8; y++)
- X {
- X i = (x << 3) + y ;
- X! if (d[i] == tc)
- X {
- X if ((x > 0) && (d[i - 8] == FREE)) vp++ ;
- X else if ((x < 7) && (d[i + 8] == FREE)) vp++ ;
- X***************
- X*** 178,184 ****
- X else if ((x > 0) && (y < 7) && (d[i - 7] == FREE)) vp++ ;
- X else if ((x < 7) && (y < 7) && (d[i + 9] == FREE)) vp++ ;
- X }
- X! if (d[i] == macouleur)
- X {
- X if ((x > 0) && (d[i - 8] == FREE)) vo++ ;
- X else if ((x < 7) && (d[i + 8] == FREE)) vo++ ;
- X--- 156,162 ----
- X else if ((x > 0) && (y < 7) && (d[i - 7] == FREE)) vp++ ;
- X else if ((x < 7) && (y < 7) && (d[i + 9] == FREE)) vp++ ;
- X }
- X! if (d[i] == mc)
- X {
- X if ((x > 0) && (d[i - 8] == FREE)) vo++ ;
- X else if ((x < 7) && (d[i + 8] == FREE)) vo++ ;
- X***************
- X*** 200,222 ****
- X i = (x << 3) + y ;
- X if (d[i] == FREE)
- X {
- X! if ((x > 0) && (d[i - 8] == tacouleur)) vp++ ;
- X! else if ((x < 7) && (d[i + 8] == tacouleur)) vp++ ;
- X! else if ((y > 0) && (d[i - 1] == tacouleur)) vp++ ;
- X! else if ((y < 7) && (d[i + 1] == tacouleur)) vp++ ;
- X! else if ((x > 0) && (y > 0) && (d[i - 9] == tacouleur)) vp++ ;
- X! else if ((x < 7) && (y > 0) && (d[i + 7] == tacouleur)) vp++ ;
- X! else if ((x > 0) && (y < 7) && (d[i - 7] == tacouleur)) vp++ ;
- X! else if ((x < 7) && (y < 7) && (d[i + 9] == tacouleur)) vp++ ;
- X
- X! if ((x > 0) && (d[i - 8] == macouleur)) vo++ ;
- X! else if ((x < 7) && (d[i + 8] == macouleur)) vo++ ;
- X! else if ((y > 0) && (d[i - 1] == macouleur)) vo++ ;
- X! else if ((y < 7) && (d[i + 1] == macouleur)) vo++ ;
- X! else if ((x > 0) && (y > 0) && (d[i - 9] == macouleur)) vo++ ;
- X! else if ((x < 7) && (y > 0) && (d[i + 7] == macouleur)) vo++ ;
- X! else if ((x > 0) && (y < 7) && (d[i - 7] == macouleur)) vo++ ;
- X! else if ((x < 7) && (y < 7) && (d[i + 9] == macouleur)) vo++ ;
- X }
- X }
- X
- X--- 178,200 ----
- X i = (x << 3) + y ;
- X if (d[i] == FREE)
- X {
- X! if ((x > 0) && (d[i - 8] == tc)) vp++ ;
- X! else if ((x < 7) && (d[i + 8] == tc)) vp++ ;
- X! else if ((y > 0) && (d[i - 1] == tc)) vp++ ;
- X! else if ((y < 7) && (d[i + 1] == tc)) vp++ ;
- X! else if ((x > 0) && (y > 0) && (d[i - 9] == tc)) vp++ ;
- X! else if ((x < 7) && (y > 0) && (d[i + 7] == tc)) vp++ ;
- X! else if ((x > 0) && (y < 7) && (d[i - 7] == tc)) vp++ ;
- X! else if ((x < 7) && (y < 7) && (d[i + 9] == tc)) vp++ ;
- X
- X! if ((x > 0) && (d[i - 8] == mc)) vo++ ;
- X! else if ((x < 7) && (d[i + 8] == mc)) vo++ ;
- X! else if ((y > 0) && (d[i - 1] == mc)) vo++ ;
- X! else if ((y < 7) && (d[i + 1] == mc)) vo++ ;
- X! else if ((x > 0) && (y > 0) && (d[i - 9] == mc)) vo++ ;
- X! else if ((x < 7) && (y > 0) && (d[i + 7] == mc)) vo++ ;
- X! else if ((x > 0) && (y < 7) && (d[i - 7] == mc)) vo++ ;
- X! else if ((x < 7) && (y < 7) && (d[i + 9] == mc)) vo++ ;
- X }
- X }
- X
- X***************
- X*** 229,251 ****
- X i = (x << 3) + y ;
- X if (d[i] == FREE)
- X {
- X! if ((x > 0) && (d[i - 8] == tacouleur)) vp++ ;
- X! if ((x < 7) && (d[i + 8] == tacouleur)) vp++ ;
- X! if ((y > 0) && (d[i - 1] == tacouleur)) vp++ ;
- X! if ((y < 7) && (d[i + 1] == tacouleur)) vp++ ;
- X! if ((x > 0) && (y > 0) && (d[i - 9] == tacouleur)) vp++ ;
- X! if ((x < 7) && (y > 0) && (d[i + 7] == tacouleur)) vp++ ;
- X! if ((x > 0) && (y < 7) && (d[i - 7] == tacouleur)) vp++ ;
- X! if ((x < 7) && (y < 7) && (d[i + 9] == tacouleur)) vp++ ;
- X
- X! if ((x > 0) && (d[i - 8] == macouleur)) vo++ ;
- X! if ((x < 7) && (d[i + 8] == macouleur)) vo++ ;
- X! if ((y > 0) && (d[i - 1] == macouleur)) vo++ ;
- X! if ((y < 7) && (d[i + 1] == macouleur)) vo++ ;
- X! if ((x > 0) && (y > 0) && (d[i - 9] == macouleur)) vo++ ;
- X! if ((x < 7) && (y > 0) && (d[i + 7] == macouleur)) vo++ ;
- X! if ((x > 0) && (y < 7) && (d[i - 7] == macouleur)) vo++ ;
- X! if ((x < 7) && (y < 7) && (d[i + 9] == macouleur)) vo++ ;
- X }
- X }
- X
- X--- 207,229 ----
- X i = (x << 3) + y ;
- X if (d[i] == FREE)
- X {
- X! if ((x > 0) && (d[i - 8] == tc)) vp++ ;
- X! if ((x < 7) && (d[i + 8] == tc)) vp++ ;
- X! if ((y > 0) && (d[i - 1] == tc)) vp++ ;
- X! if ((y < 7) && (d[i + 1] == tc)) vp++ ;
- X! if ((x > 0) && (y > 0) && (d[i - 9] == tc)) vp++ ;
- X! if ((x < 7) && (y > 0) && (d[i + 7] == tc)) vp++ ;
- X! if ((x > 0) && (y < 7) && (d[i - 7] == tc)) vp++ ;
- X! if ((x < 7) && (y < 7) && (d[i + 9] == tc)) vp++ ;
- X
- X! if ((x > 0) && (d[i - 8] == mc)) vo++ ;
- X! if ((x < 7) && (d[i + 8] == mc)) vo++ ;
- X! if ((y > 0) && (d[i - 1] == mc)) vo++ ;
- X! if ((y < 7) && (d[i + 1] == mc)) vo++ ;
- X! if ((x > 0) && (y > 0) && (d[i - 9] == mc)) vo++ ;
- X! if ((x < 7) && (y > 0) && (d[i + 7] == mc)) vo++ ;
- X! if ((x > 0) && (y < 7) && (d[i - 7] == mc)) vo++ ;
- X! if ((x < 7) && (y < 7) && (d[i + 9] == mc)) vo++ ;
- X }
- X }
- X
- X***************
- X*** 254,256 ****
- X--- 232,235 ----
- X return(tnote / 1000) ;
- X }
- X }
- X+
- X
- X------- rev_ip.c -------
- X*** /tmp/da07626 Sun Dec 9 15:17:13 1990
- X--- rev_ip.c Sat Dec 8 18:12:25 1990
- X***************
- X*** 23,34 ****
- X #include <signal.h>
- X #include <setjmp.h>
- X #include <sys/types.h>
- X- #ifdef SYSV
- X- #include <sys/times.h>
- X- #else
- X- #include <sys/time.h>
- X- #endif /*SYSV*/
- X-
- X #include "reve.h"
- X
- X extern int saveres ;
- X--- 23,28 ----
- X***************
- X*** 35,41 ****
- X extern time_t timeleft, time() ;
- X extern int damier[NIVEAUMAX][64] ;
- X extern int tacouleur, macouleur ;
- X! extern int mnb, profmax ;
- X extern long c1, c2, c3 ;
- X
- X /* Reve structure. Play_Reve evaluates a board and returns a move and a note
- X--- 29,35 ----
- X extern time_t timeleft, time() ;
- X extern int damier[NIVEAUMAX][64] ;
- X extern int tacouleur, macouleur ;
- X! extern int mnb, profmax, max_depth ;
- X extern long c1, c2, c3 ;
- X
- X /* Reve structure. Play_Reve evaluates a board and returns a move and a note
- X***************
- X*** 167,173 ****
- X if (d0[cpk[cp]] == JPJ) k++ ;
- X
- X count = note = cpmax = 0 ;
- X! timeused = profmax = 1 ;
- X
- X if (((k == 1) && (mnb < 52)) || (mnb == 1))
- X {
- X--- 161,168 ----
- X if (d0[cpk[cp]] == JPJ) k++ ;
- X
- X count = note = cpmax = 0 ;
- X! timeused = 1 ;
- X! profmax = max_depth - 1 ;
- X
- X if (((k == 1) && (mnb < 52)) || (mnb == 1))
- X {
- X***************
- X*** 221,227 ****
- X }
- X else
- X {
- X! allotime = timeleft * 3 / (61 - mnb) ;
- X firsttime = time((time_t *) NULL) ;
- X
- X cpmaxi[0] = cpmaxi[1] = cpmaxi[2] = cpmaxi[3] = 0 ;
- X--- 216,222 ----
- X }
- X else
- X {
- X! allotime = timeleft * 4 / (61 - mnb) ;
- X firsttime = time((time_t *) NULL) ;
- X
- X cpmaxi[0] = cpmaxi[1] = cpmaxi[2] = cpmaxi[3] = 0 ;
- X***************
- X*** 378,384 ****
- X--- 373,383 ----
- X {
- X if (d0[cpk[cp]] == TPJ)
- X {
- X+ #ifdef hp9000s300
- X+ for (k = 0; k < 64; k++) damier[niv + 1][k] = damier[niv][k] ;
- X+ #else
- X for (k = 0; k < 64; k++) d1[k] = d0[k] ;
- X+ #endif
- X tujouesen(cpi[cp], cpj[cp], niv + 1) ;
- X if (niv == profmax) lnote = evalue(niv + 1) ;
- X else if (jepeuxjouer(niv + 1) == TRUE)
- X***************
- X*** 427,433 ****
- X--- 426,436 ----
- X {
- X if (d0[cpk[cp]] == JPJ)
- X {
- X+ #ifdef hp9000s300
- X+ for (k = 0; k < 64; k++) damier[niv + 1][k] = damier[niv][k] ;
- X+ #else
- X for (k = 0; k < 64; k++) d1[k] = d0[k] ;
- X+ #endif
- X jejoueen(cpi[cp], cpj[cp], niv + 1) ;
- X if (niv == profmax) lnote = evalue(niv + 1) ;
- X else if (tupeuxjouer(niv + 1) == TRUE)
- X
- X------- reve.man -------
- X*** /tmp/da07629 Sun Dec 9 15:17:14 1990
- X--- reve.man Sun Dec 9 14:35:12 1990
- X***************
- X*** 1,5 ****
- X .\" %Z%%M% %I% %E%
- X! .TH REVE 6 "18 October 1990"
- X .SH NAME
- X reve \- an othello game.
- X .SH SYNOPSIS
- X--- 1,5 ----
- X .\" %Z%%M% %I% %E%
- X! .TH REVE 6 "29 November 1990"
- X .SH NAME
- X reve \- an othello game.
- X .SH SYNOPSIS
- X***************
- X*** 7,12 ****
- X--- 7,14 ----
- X [
- X .B \-animate
- X ] [
- X+ .B \-bestmove
- X+ ] [
- X .B \-black
- X .I [ display ]
- X ] [
- X***************
- X*** 28,33 ****
- X--- 30,37 ----
- X .B \-load
- X .I gamefile
- X ] [
- X+ .B \-log
- X+ ] [
- X .B \-m
- X ] [
- X .B \-notes
- X***************
- X*** 36,43 ****
- X ] [
- X .B \-quick
- X ] [
- X- .B \-r
- X- ] [
- X .B \-v
- X ] [
- X .B \-white
- X--- 40,45 ----
- X***************
- X*** 82,93 ****
- X down as you move around the board, the square you are currently over will
- X be highlighted.
- X .LP
- X! There are various buttons and cyclic selections available. Their meanings
- X! are given below, plus an indication of their keyboard equivalents. With the
- X! cyclic selections, clicking over the left half of the cycle item increments
- X! the selection, and clicking over the right half of the cycle item decrements
- X! the selection. With the SunView and XView versions, it is also possible to
- X! make a selection from a popup menu using the right mouse button.
- X .LP
- X By default, a human will play black, and the computer will play white. If
- X you want a human vs human startup or some other combination, then you should
- X--- 84,94 ----
- X down as you move around the board, the square you are currently over will
- X be highlighted.
- X .LP
- X! There are various buttons, choice, toggles and cyclic selections available.
- X! Their meanings are given below, plus an indication of their keyboard
- X! equivalents. With the cyclic selections, clicking over the left half of the
- X! cycle item increments the selection, and clicking over the right half of the
- X! cycle item decrements the selection.
- X .LP
- X By default, a human will play black, and the computer will play white. If
- X you want a human vs human startup or some other combination, then you should
- X***************
- X*** 95,102 ****
- X .SH REVE BUTTONS
- X .LP
- X With the graphics versions, there are eight buttons that are normally
- X! displayed at the top of the Reve window. Each of these buttons, except
- X! the "done" button has a keyboard equivalent which is given in brackets below.
- X .LP
- X .IP "\fBload [ L ]\fP" 18
- X Load a game file. The format of this game file is given below. With the
- X--- 96,103 ----
- X .SH REVE BUTTONS
- X .LP
- X With the graphics versions, there are eight buttons that are normally
- X! displayed at the top of the Reve window. Each of these buttons, has a
- X! keyboard equivalent which is given in brackets below.
- X .LP
- X .IP "\fBload [ L ]\fP" 18
- X Load a game file. The format of this game file is given below. With the
- X***************
- X*** 124,158 ****
- X Undo the last "move". If the opponent is the computer, the two "moves" are
- X undone. A "move" is considered to be all previous consecutive moves by
- X the opponent.
- X! .IP "\fBdone [ No keyboard equivalent]\fP" 18
- X! Change \fIreve\fP to an icon.
- X .IP "\fBquit [ q ]\fP" 18
- X Exit the
- X .I reve
- X program.
- X! .SH REVE CYCLIC SELECTIONS
- X! With the graphical versions, just below the eight buttons are four cycle items.
- X! These can either be selected with the left mouse button, to increment or
- X! decrement the current selection (depending upon which half on the item
- X! you click over), or a selection can be made from a popup menu when you
- X! click with the right mouse button (SunView and XView versions only).
- X! Each cycle value has a keyboard equivalent which is given in brackets below.
- X! This must be followed by the value of the new selection you wish to make.
- X! The dumb tty version has the equivalent of these items displayed to the
- X right of the reve board display.
- X .LP
- X! .IP "\fBBlack: [ B ]\fP" 18
- X! Select whether the black player should be a human or the computer. The
- X! keyboard equivalents are 'h' for human, and 'c' for computer.
- X! .IP "\fBWhite: [ W ]\fP" 18
- X! Select whether the white player should be a human or the computer. The
- X! keyboard equivalents are the same as for the \fBBlack:\fP item.
- X .IP "\fBDifficulty: [ D ]\fP" 18
- X! Sets the degree of difficulty for the computers moves. Keyboard selection
- X! values are in the range '1' to '9'. The computer move is determined on a
- X! time basis. The degree of difficulty determines the total amount of time
- X! that the computer will take to make all its moves. Here are the time periods
- X! for each level of difficulty:
- X .LP
- X Difficulty Time
- X .LP
- X--- 125,160 ----
- X Undo the last "move". If the opponent is the computer, the two "moves" are
- X undone. A "move" is considered to be all previous consecutive moves by
- X the opponent.
- X! .IP "\fBprops [ p ]\fP" 18
- X! Display a property sheet containing choices and toggles which will
- X! alter various \fIreve\fP properties.
- X .IP "\fBquit [ q ]\fP" 18
- X Exit the
- X .I reve
- X program.
- X! .SH REVE PROPERTY SHEET SELECTIONS
- X! With the graphical versions, there is a property sheet window which can be
- X! displayed. The property sheet has two choice items, one cyclic item, and six
- X! toggle items. Click with the left mouse button over the option you want from
- X! the choice items. With the cyclic items, click with the left mouse button over
- X! the appropriate half, to either increment or decrement the current value.
- X! Clicking left over the toggle item boxes, will toggle the value of that item
- X! on or off.
- X! The choice items also have keyboard equivalents which are given in brackets
- X! below. They must be followed by the value of the new selection you wish to
- X! make. The dumb tty version has the equivalent of these items displayed to the
- X right of the reve board display.
- X .LP
- X! .IP "\fBComputer plays: [ C ]\fP" 18
- X! A choice item which selects what color[s] the computer should play. The
- X! keyboard equivalents are 'b' for black, 'w' for white, 'n' for neither,
- X! and 'a' for all (both).
- X .IP "\fBDifficulty: [ D ]\fP" 18
- X! A choice item which sets the degree of difficulty for the computers moves.
- X! Keyboard selection values are in the range '1' to '9'. The computer move is
- X! determined on a time basis. The degree of difficulty determines the total
- X! amount of time that the computer will take to make all its moves. Here are the
- X! time periods for each level of difficulty:
- X .LP
- X Difficulty Time
- X .LP
- X***************
- X*** 175,184 ****
- X 9 60 minutes.
- X .LP
- X Level eight is tournament level.
- X! .IP "\fBNotes: [ N ]\fP" 18
- X! Select whether computer notes are displayed. When you are playing against
- X! the computer, the note gives the position of the last computer move, and
- X! an indication of whether it was a good or bad move.
- X .SH OPTIONS
- X .TP
- X .B \-animate
- X--- 177,198 ----
- X 9 60 minutes.
- X .LP
- X Level eight is tournament level.
- X! .IP "\fBSet search depth: [ No keyboard equivalent ]\fP" 18
- X! A cyclic item which sets the maximum search depth for a computer move.
- X! .IP "\fBAnimate move option. [ No keyboard equivalent ]\fP" 18
- X! A toggle item for animating the computer move and the dragging of human pieces.
- X! .IP "\fBShow current best move option. [ No keyboard equivalent ]\fP" 18
- X! A toggle item for showing the current best move as the computer makes it's
- X! move.
- X! .IP "\fBShow last move option. [ No keyboard equivalent ]\fP" 18
- X! A toggle item for outlining the square containing the last move.
- X! .IP "\fBShow evaluation information option. [ No keyboard equivalent ]\fP" 18
- X! A toggle information for displaying evaluation information for each computer
- X! move.
- X! .IP "\fBNumber last move option. [ No keyboard equivalent ]\fP" 18
- X! A toggle item for number the last move stone.
- X! .IP "\fBDon't show flip option. [ No keyboard equivalent ]\fP" 18
- X! A toggle item to prevent the flip of the stones as a turn is completed.
- X .SH OPTIONS
- X .TP
- X .B \-animate
- X***************
- X*** 186,191 ****
- X--- 200,209 ----
- X corner of the board, and when you hold the left mouse button down, your
- X stone is dragged around.
- X .TP
- X+ .B \-bestmove
- X+ As the computer is making it's move, continually show the position of the
- X+ best move found so far.
- X+ .TP
- X .BI \-black " [ display ]"
- X Black will be played by a human. With the X11 variant of
- X .I reve
- X***************
- X*** 225,230 ****
- X--- 243,254 ----
- X Load a game file. The format of this game file is given below. The board
- X will be setup with these stones.
- X .TP
- X+ .B \-log
- X+ Save a log of computer move information to the file
- X+ .I reve.res
- X+ as the game progresses. This information is probably only useful to
- X+ people trying to improve the computer algorithm.
- X+ .TP
- X .B \-m
- X Always display in monochrome, even on a color screen.
- X .TP
- X***************
- X*** 237,248 ****
- X .B \-quick
- X Play a quick game. Don't flash the stones as they are being turned.
- X .TP
- X- .B \-r
- X- Save a log of computer move information to the file
- X- .I reve.res
- X- as the game progresses. This information is probably only useful to
- X- people trying to improve the computer algorithm.
- X- .TP
- X .B \-?
- X Print the version number and usage message for this release of the
- X .I reve
- X--- 261,266 ----
- X***************
- X*** 272,277 ****
- X--- 290,383 ----
- X .BI \-WP " x y"
- X Start the icon position at
- X .I x y
- X+ .SH RESOURCES
- X+ On startup, the X11 and XView version of
- X+ .I reve
- X+ will use the following X resources:
- X+ .TP 15
- X+ .PD 0
- X+ .B Resource:
- X+ reve.animate
- X+ .TP
- X+ .B Values:
- X+ True, False (False)
- X+ .TP
- X+ .B Description
- X+ Indicates whether various animation effects are shown.
- X+ .sp
- X+ .TP
- X+ .B Resource:
- X+ reve.bestmove
- X+ .TP
- X+ .B Values:
- X+ True, False (False)
- X+ .TP
- X+ .B Description
- X+ Indicates whether to continually show the best move so far, as the computer
- X+ is making it's move.
- X+ .sp
- X+ .TP
- X+ .B Resource:
- X+ reve.difficulty
- X+ .TP
- X+ .B Values:
- X+ Difficulty value (numeric)
- X+ .TP
- X+ .B Description
- X+ The computer difficulty level.
- X+ .sp
- X+ .TP
- X+ .B Resource:
- X+ reve.last
- X+ .TP
- X+ .B Values:
- X+ True, False (False)
- X+ .TP
- X+ .B Description
- X+ Indicates whether the position of the last stone placed is shown by a square.
- X+ .sp
- X+ .TP
- X+ .B Resource:
- X+ reve.log
- X+ .TP
- X+ .B Values:
- X+ True, False (False)
- X+ .TP
- X+ .B Description
- X+ Indicates whether to save a log of computer information to the file
- X+ .I reve.res/
- X+ .sp
- X+ .TP
- X+ .B Resource:
- X+ reve.notes
- X+ .TP
- X+ .B Values:
- X+ True, False (False)
- X+ .TP
- X+ .B Description
- X+ Indicates whether todisplay computer notes.
- X+ .sp
- X+ .TP
- X+ .B Resource:
- X+ reve.number
- X+ .TP
- X+ .B Values:
- X+ True, False (False)
- X+ .TP
- X+ .B Description
- X+ Indicates whether the last stone placed in numbered.
- X+ .sp
- X+ .TP
- X+ .B Resource:
- X+ reve.quick
- X+ .TP
- X+ .B Values:
- X+ True, False (False)
- X+ .TP
- X+ .B Description
- X+ Indicates whether a quick game should be played. Stones are not flashed as
- X+ they are placed, if this resource is set true.
- X+ .sp
- X .SH REVE GAMES FILE FORMAT
- X .I Reve
- X has the ability to load or save games. The format of the games files are:
- X
- X------- reve.man.text -------
- X*** /tmp/da07632 Sun Dec 9 15:17:15 1990
- X--- reve.man.text Sun Dec 9 14:35:19 1990
- X***************
- X*** 9,19 ****
- X reve - an othello game.
- X
- X SYNOPSIS
- X! reve [ -animate ] [ -b [ display ] ] [ -c ] [ -d difficulty
- X! ] [ -e edgefile ] [ -g geometry ] [ -i ] [ -last ] [ -load
- X! gamefile ] [ -m ] [ -notes ] [ -number ] [ -quick ] [ -r ] [
- X! -v ] [ -w [ display ] ] [ -? ] [ -Wi ] [ -Wp x y ] [ -WP x y
- X! ]
- X
- X DESCRIPTION
- X Reve is a version of the popular Othello game. It contains
- X--- 9,19 ----
- X reve - an othello game.
- X
- X SYNOPSIS
- X! reve [ -animate ] [ -bestmove ] [ -black [ display ] ] [ -c
- X! ] [ -d difficulty ] [ -e edgefile ] [ -g geometry ] [ -i ] [
- X! -last ] [ -load gamefile ] [ -log ] [ -m ] [ -notes ] [
- X! -number ] [ -quick ] [ -v ] [ -white [ display ] ] [ -? ] [
- X! -Wi ] [ -Wp x y ] [ -WP x y ]
- X
- X DESCRIPTION
- X Reve is a version of the popular Othello game. It contains
- X***************
- X*** 46,66 ****
- X the board, the square you are currently over will be
- X highlighted.
- X
- X! There are various buttons and cyclic selections available.
- X! Their meanings are given below, plus an indication of their
- X! keyboard equivalents. With the cyclic selections, clicking
- X! over the left half of the cycle item increments the selec-
- X! tion, and clicking over the right half of the cycle item
- X! decrements the selection. With the SunView and XView ver-
- X! sions, it is also possible to make a selection from a popup
- X! menu using the right mouse button.
- X
- X By default, a human will play black, and the computer will
- X play white. If you want a human vs human startup or some
- X
- X
- X
- X! Sun Release 4.1 Last change: 18 October 1990 1
- X
- X
- X
- X--- 46,66 ----
- X the board, the square you are currently over will be
- X highlighted.
- X
- X! There are various buttons, choice, toggles and cyclic selec-
- X! tions available. Their meanings are given below, plus an
- X! indication of their keyboard equivalents. With the cyclic
- X! selections, clicking over the left half of the cycle item
- X! increments the selection, and clicking over the right half
- X! of the cycle item decrements the selection.
- X
- X By default, a human will play black, and the computer will
- X play white. If you want a human vs human startup or some
- X+ other combination, then you should use the appropriate com-
- X+ mand line options (see below).
- X
- X
- X
- X! Sun Release 4.1 Last change: 29 November 1990 1
- X
- X
- X
- X***************
- X*** 71,84 ****
- X
- X
- X
- X- other combination, then you should use the appropriate com-
- X- mand line options (see below).
- X-
- X REVE BUTTONS
- X With the graphics versions, there are eight buttons that are
- X normally displayed at the top of the Reve window. Each of
- X! these buttons, except the "done" button has a keyboard
- X! equivalent which is given in brackets below.
- X
- X load [ L ] Load a game file. The format of this game
- X file is given below. With the graphical
- X--- 71,81 ----
- X
- X
- X
- X REVE BUTTONS
- X With the graphics versions, there are eight buttons that are
- X normally displayed at the top of the Reve window. Each of
- X! these buttons, has a keyboard equivalent which is given in
- X! brackets below.
- X
- X load [ L ] Load a game file. The format of this game
- X file is given below. With the graphical
- X***************
- X*** 115,132 ****
- X A "move" is considered to be all previous
- X consecutive moves by the opponent.
- X
- X! done [ No keyboard equivalent]
- X! Change reve to an icon.
- X
- X quit [ q ] Exit the reve program.
- X
- X! REVE CYCLIC SELECTIONS
- X! With the graphical versions, just below the eight buttons
- X! are four cycle items. These can either be selected with the
- X
- X
- X
- X! Sun Release 4.1 Last change: 18 October 1990 2
- X
- X
- X
- X--- 112,132 ----
- X A "move" is considered to be all previous
- X consecutive moves by the opponent.
- X
- X! props [ p ] Display a property sheet containing
- X! choices and toggles which will alter vari-
- X! ous reve properties.
- X
- X quit [ q ] Exit the reve program.
- X
- X! REVE PROPERTY SHEET SELECTIONS
- X! With the graphical versions, there is a property sheet win-
- X! dow which can be displayed. The property sheet has two
- X! choice items, one cyclic item, and six toggle items. Click
- X! with the left mouse button over the option you want from the
- X
- X
- X
- X! Sun Release 4.1 Last change: 29 November 1990 2
- X
- X
- X
- X***************
- X*** 137,171 ****
- X
- X
- X
- X! left mouse button, to increment or decrement the current
- X! selection (depending upon which half on the item you click
- X! over), or a selection can be made from a popup menu when you
- X! click with the right mouse button (SunView and XView ver-
- X! sions only). Each cycle value has a keyboard equivalent
- X! which is given in brackets below. This must be followed by
- X! the value of the new selection you wish to make. The dumb
- X! tty version has the equivalent of these items displayed to
- X! the right of the reve board display.
- X
- X! Black: [ B ] Select whether the black player should be
- X! a human or the computer. The keyboard
- X! equivalents are 'h' for human, and 'c' for
- X! computer.
- X
- X! White: [ W ] Select whether the white player should be
- X! a human or the computer. The keyboard
- X! equivalents are the same as for the Black:
- X! item.
- X
- X- Difficulty: [ D ] Sets the degree of difficulty for the com-
- X- puters moves. Keyboard selection values
- X- are in the range '1' to '9'. The computer
- X- move is determined on a time basis. The
- X- degree of difficulty determines the total
- X- amount of time that the computer will take
- X- to make all its moves. Here are the time
- X- periods for each level of difficulty:
- X-
- X Difficulty Time
- X
- X 1 Time allocation disabled (fast simple move).
- X--- 137,169 ----
- X
- X
- X
- X! choice items. With the cyclic items, click with the left
- X! mouse button over the appropriate half, to either increment
- X! or decrement the current value. Clicking left over the tog-
- X! gle item boxes, will toggle the value of that item on or
- X! off. The choice items also have keyboard equivalents which
- X! are given in brackets below. They must be followed by the
- X! value of the new selection you wish to make. The dumb tty
- X! version has the equivalent of these items displayed to the
- X! right of the reve board display.
- X
- X! Computer plays: [ C ]
- X! A choice item which selects what color[s]
- X! the computer should play. The keyboard
- X! equivalents are 'b' for black, 'w' for
- X! white, 'n' for neither, and 'a' for all
- X! (both).
- X
- X! Difficulty: [ D ] A choice item which sets the degree of
- X! difficulty for the computers moves. Key-
- X! board selection values are in the range
- X! '1' to '9'. The computer move is deter-
- X! mined on a time basis. The degree of dif-
- X! ficulty determines the total amount of
- X! time that the computer will take to make
- X! all its moves. Here are the time periods
- X! for each level of difficulty:
- X
- X Difficulty Time
- X
- X 1 Time allocation disabled (fast simple move).
- X***************
- X*** 180,212 ****
- X
- X Level eight is tournament level.
- X
- X! Notes: [ N ] Select whether computer notes are
- X! displayed. When you are playing against
- X! the computer, the note gives the position
- X! of the last computer move, and an indica-
- X! tion of whether it was a good or bad move.
- X
- X! OPTIONS
- X! -animate
- X! Show animation. The computer's stone will glide in from
- X
- X
- X
- X- Sun Release 4.1 Last change: 18 October 1990 3
- X
- X
- X
- X
- X
- X
- X REVE(6) GAMES AND DEMOS REVE(6)
- X
- X
- X
- X the top left corner of the board, and when you hold the
- X left mouse button down, your stone is dragged around.
- X
- X! -b [ display ]
- X Black will be played by a human. With the X11 variant
- X of reve it is possible to give an optional display
- X value.
- X--- 178,236 ----
- X
- X Level eight is tournament level.
- X
- X! Set search depth: [ No keyboard equivalent ]
- X! A cyclic item which sets the maximum
- X! search depth for a computer move.
- X
- X! Animate move option. [ No keyboard equivalent ]
- X! A toggle item for animating the computer
- X! move and the dragging of human pieces.
- X
- X+ Show current best move option. [ No keyboard equivalent ]
- X+ A toggle item for showing the current best
- X+ move as the computer makes it's move.
- X
- X
- X
- X+ Sun Release 4.1 Last change: 29 November 1990 3
- X
- X
- X
- X
- X
- X+
- X REVE(6) GAMES AND DEMOS REVE(6)
- X
- X
- X
- X+ Show last move option. [ No keyboard equivalent ]
- X+ A toggle item for outlining the square
- X+ containing the last move.
- X+
- X+ Show evaluation information option. [ No keyboard equivalent ]
- X+ A toggle information for displaying
- X+ evaluation information for each computer
- X+ move.
- X+
- X+ Number last move option. [ No keyboard equivalent ]
- X+ A toggle item for number the last move
- X+ stone.
- X+
- X+ Don't show flip option. [ No keyboard equivalent ]
- X+ A toggle item to prevent the flip of the
- X+ stones as a turn is completed.
- X+
- X+ OPTIONS
- X+ -animate
- X+ Show animation. The computer's stone will glide in from
- X the top left corner of the board, and when you hold the
- X left mouse button down, your stone is dragged around.
- X
- X! -bestmove
- X! As the computer is making it's move, continually show
- X! the position of the best move found so far.
- X!
- X! -black [ display ]
- X Black will be played by a human. With the X11 variant
- X of reve it is possible to give an optional display
- X value.
- X***************
- X*** 231,236 ****
- X--- 255,274 ----
- X information.
- X
- X -i Invert the reve window before displaying it. For use by
- X+
- X+
- X+
- X+ Sun Release 4.1 Last change: 29 November 1990 4
- X+
- X+
- X+
- X+
- X+
- X+
- X+ REVE(6) GAMES AND DEMOS REVE(6)
- X+
- X+
- X+
- X people who started their graphics environment in
- X inverse mode. This option is currently only implemented
- X for the SunView version.
- X***************
- X*** 243,248 ****
- X--- 281,291 ----
- X Load a game file. The format of this game file is given
- X below. The board will be setup with these stones.
- X
- X+ -log Save a log of computer move information to the file
- X+ reve.res as the game progresses. This information is
- X+ probably only useful to people trying to improve the
- X+ computer algorithm.
- X+
- X -m Always display in monochrome, even on a color screen.
- X
- X -notes
- X***************
- X*** 255,279 ****
- X Play a quick game. Don't flash the stones as they are
- X being turned.
- X
- X-
- X-
- X-
- X- Sun Release 4.1 Last change: 18 October 1990 4
- X-
- X-
- X-
- X-
- X-
- X-
- X- REVE(6) GAMES AND DEMOS REVE(6)
- X-
- X-
- X-
- X- -r Save a log of computer move information to the file
- X- reve.res as the game progresses. This information is
- X- probably only useful to people trying to improve the
- X- computer algorithm.
- X-
- X -? Print the version number and usage message for this
- X release of the reve program.
- X
- X--- 298,303 ----
- X***************
- X*** 280,286 ****
- X -v Print the version number and usage message for this
- X release of the reve program.
- X
- X! -w [ display ]
- X White will be played by a human. With the X11 variant
- X of reve it is possible to give an optional display
- X value.
- X--- 304,310 ----
- X -v Print the version number and usage message for this
- X release of the reve program.
- X
- X! -white [ display ]
- X White will be played by a human. With the X11 variant
- X of reve it is possible to give an optional display
- X value.
- X***************
- X*** 295,346 ****
- X -WP x y
- X Start the icon position at x y
- X
- X REVE GAMES FILE FORMAT
- X Reve has the ability to load or save games. The format of
- X the games files are:
- X-
- X 1, <C-4> - [ remarks field ]
- X 2, - <E-3> [ remarks field ]
- X-
- X There is one move per line. Lines starting with a '#' and
- X blank lines are ignored. The first field of each line is the
- X move number. This will be present before the comma. It is
- X used as a consistency check. Next are the black and white
- X fields. If the '<' character is present before the white.
- X- The three characters between the '<' and '>' are the move,
- X- and give the column and row. The column letter can be in
- X- either lower or upper case.
- X
- X- It is possible for one player to have two or more consequen-
- X- tive moves, hence the need for the above scheme. Reve is
- X- flexible about white space (except between the '<' and '>'
- X- characters). The remarks field is ignored. The program will
- X- stop on the first line it thinks is in error, and display
- X- the reason for this. As valid lines are read from a game
- X- file, the board is updated.
- X
- X- FILES
- X- /usr/local/lib/reve.edgetable
- X
- X
- X
- X- Sun Release 4.1 Last change: 18 October 1990 5
- X
- X
- X
- X
- X-
- X-
- X REVE(6) GAMES AND DEMOS REVE(6)
- X
- X
- X
- X edge stability table for all possible edge combina-
- X tions.
- X-
- X BUGS
- X See the TODO file for the list of known problems.
- X-
- X AUTHORS
- X Computer strategy: Yves Gallot galloty@cernvax.cern.ch
- X Graphics interface: Rich Burridge richb@Aus.Sun.COM
- X--- 319,422 ----
- X -WP x y
- X Start the icon position at x y
- X
- X+ RESOURCES
- X+ On startup, the X11 and XView version of reve will use the
- X+
- X+
- X+
- X+ Sun Release 4.1 Last change: 29 November 1990 5
- X+
- X+
- X+
- X+
- X+
- X+
- X+ REVE(6) GAMES AND DEMOS REVE(6)
- X+
- X+
- X+
- X+ following X resources:
- X+
- X+ Resource: reve.animate
- X+ Values: True, False (False)
- X+ Description Indicates whether various animation effects
- X+ are shown.
- X+
- X+ Resource: reve.bestmove
- X+ Values: True, False (False)
- X+ Description Indicates whether to continually show the
- X+ best move so far, as the computer is making
- X+ it's move.
- X+
- X+ Resource: reve.difficulty
- X+ Values: Difficulty value (numeric)
- X+ Description The computer difficulty level.
- X+
- X+ Resource: reve.last
- X+ Values: True, False (False)
- X+ Description Indicates whether the position of the last
- X+ stone placed is shown by a square.
- X+
- X+ Resource: reve.log
- X+ Values: True, False (False)
- X+ Description Indicates whether to save a log of computer
- X+ information to the file reve.res/
- X+
- X+ Resource: reve.notes
- X+ Values: True, False (False)
- X+ Description Indicates whether todisplay computer notes.
- X+
- X+ Resource: reve.number
- X+ Values: True, False (False)
- X+ Description Indicates whether the last stone placed in
- X+ numbered.
- X+
- X+ Resource: reve.quick
- X+ Values: True, False (False)
- X+ Description Indicates whether a quick game should be
- X+ played. Stones are not flashed as they are
- X+ placed, if this resource is set true.
- X+
- X REVE GAMES FILE FORMAT
- X Reve has the ability to load or save games. The format of
- X the games files are:
- X 1, <C-4> - [ remarks field ]
- X 2, - <E-3> [ remarks field ]
- X There is one move per line. Lines starting with a '#' and
- X blank lines are ignored. The first field of each line is the
- X move number. This will be present before the comma. It is
- X used as a consistency check. Next are the black and white
- X fields. If the '<' character is present before the white.
- X
- X
- X
- X+ Sun Release 4.1 Last change: 29 November 1990 6
- X
- X
- X
- X
- X
- X
- X REVE(6) GAMES AND DEMOS REVE(6)
- X
- X
- X
- X+ The three characters between the '<' and '>' are the move,
- X+ and give the column and row. The column letter can be in
- X+ either lower or upper case.
- X+ It is possible for one player to have two or more consequen-
- X+ tive moves, hence the need for the above scheme. Reve is
- X+ flexible about white space (except between the '<' and '>'
- X+ characters). The remarks field is ignored. The program will
- X+ stop on the first line it thinks is in error, and display
- X+ the reason for this. As valid lines are read from a game
- X+ file, the board is updated.
- X+ FILES
- X+ /usr/local/lib/reve.edgetable
- X edge stability table for all possible edge combina-
- X tions.
- X BUGS
- X See the TODO file for the list of known problems.
- X AUTHORS
- X Computer strategy: Yves Gallot galloty@cernvax.cern.ch
- X Graphics interface: Rich Burridge richb@Aus.Sun.COM
- X***************
- X*** 380,396 ****
- X
- X
- X
- X!
- X!
- X!
- X!
- X!
- X!
- X!
- X!
- X!
- X!
- X! Sun Release 4.1 Last change: 18 October 1990 6
- X
- X
- X
- X--- 456,462 ----
- X
- X
- X
- X! Sun Release 4.1 Last change: 29 November 1990 7
- X
- X
- X
- X
- END_OF_FILE
- if test 45079 -ne `wc -c <'patches03d'`; then
- echo shar: \"'patches03d'\" unpacked with wrong size!
- fi
- # end of 'patches03d'
- fi
- echo shar: End of archive 7 \(of 9\).
- cp /dev/null ark7isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 9 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-